package main

import (
	"fmt"
	"sort"
)

func main() {
	// a1 := []int{1, 3, 5, 4, 555, 52}
	// a2 := a1 // 赋值
	// // var a3 = make([]int, 3, 3) // copy
	// var a3 = make([]int, 3, 3)
	// copy(a3, a1) // copy 长度要算好 要不然没有值
	// fmt.Println(a1, a2, a3)
	// a1[0] = 100
	// fmt.Println(a1, a2, a3)

	// // 从切片中删除元素
	// // 将a中的索引为1的3这个元素删掉
	// a1 = append(a1[:1], a1[2:]...) // 展开
	// fmt.Println("a1", a1)
	// fmt.Println(cap(a1))
	// // 切片不存值

	//
	//
	//
	// x1 := [...]int{1, 3, 5}
	// s1 := x1[:]
	// fmt.Println(s1, len(s1), cap(s1))
	// // 1. 切片不保存具体的值
	// // 2. 切片对应的一个底层数组
	// // 3. 底层数组都是占用一块连续的内存
	// fmt.Printf("%p\n", &s1[0])
	// // ?
	// s1 = append(s1[:1], s1[2:]...)
	// fmt.Println("ssss", s1)
	// // s1 = 1, 5
	// fmt.Printf("%p\n", &s1[0])
	// // 长度是2 容量是3 👇
	// fmt.Println(s1, len(s1), cap(s1))
	// //
	// // s1[0] = 100 // 修改底层数组
	// fmt.Println(x1)

	// var a = make([]int, 5, 10)
	// for i := 0; i < 10; i++ {
	// 	// fmt.Println(i)
	// 	a = append(a, i)
	// }
	// fmt.Println(a)

	var a1 = [...]int{3, 6, 3, 2, 5}
	sort.Ints(a1[:])
	fmt.Println(a1)
}
